package com.cjack.frenchexcel.model;

import com.cjack.frenchexcel.table.GoodsTable;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 发货记录表
 */
public class SendGoodsRecordModel implements Serializable {

    private Long id;

    private String sendGoodsNoProfix;//F+年+月 这部分
    private Integer sendGoodsNoNumber;//0001这部分
    private String completeSendGoodsNoNumber;//完整的发票编号，由上面两个拼接而来
    private String orderNo;//发货码
    private Double totalAmount;//总金额
    private Double totalSellAmount;//总的商品销售金额
    private Double sellTotalAmount;//销售总金额
    private String goodsIds;//本次发货的商品的id列表
    private Long adminUserId;//发货人

    private String jobNumber;//发货人员工编码
    private String sellInvoicePdf;//销售发票 pdf
    private String sellInvoiceImg;//销售发票 Img
    private String customsClearanceFormPdf;//出关单 pdf
    private String customsClearanceFormImg;//出关单 img
    private String trackingNumber;//快递单号
    private Date uploadCustomsClearanceFormTime;//出关单 上传时间
    private String reviewStatus;//上传的发票的审核状态  PASS 审核通过 REJECT 审核拒绝
    private Date reviewTime;//出关但 审核时间
    private String reviewMemo;//发票审核 备注


    private List<GoodsTable> goods = new ArrayList<>();//本次发货包含的商品列表

    private Date createTime;//发货时间
    private Date updateTime = new Date();

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Double getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(Double totalAmount) {
        this.totalAmount = totalAmount;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public List<GoodsTable> getGoods() {
        return goods;
    }

    public void addGoods( GoodsTable goods) {
        this.goods.add( goods);
    }

    public Long getAdminUserId() {
        return adminUserId;
    }

    public void setAdminUserId(Long adminUserId) {
        this.adminUserId = adminUserId;
    }

    public String getSellInvoicePdf() {
        return sellInvoicePdf;
    }

    public void setSellInvoicePdf(String sellInvoicePdf) {
        this.sellInvoicePdf = sellInvoicePdf;
    }

    public String getSellInvoiceImg() {
        return sellInvoiceImg;
    }

    public void setSellInvoiceImg(String sellInvoiceImg) {
        this.sellInvoiceImg = sellInvoiceImg;
    }

    public String getCustomsClearanceFormImg() {
        return customsClearanceFormImg;
    }

    public void setCustomsClearanceFormImg(String customsClearanceFormImg) {
        this.customsClearanceFormImg = customsClearanceFormImg;
    }

    public String getCustomsClearanceFormPdf() {
        return customsClearanceFormPdf;
    }

    public void setCustomsClearanceFormPdf(String customsClearanceFormPdf) {
        this.customsClearanceFormPdf = customsClearanceFormPdf;
    }

    public String getGoodsIds() {
        return goodsIds;
    }

    public void setGoodsIds(String goodsIds) {
        this.goodsIds = goodsIds;
    }

    public String getReviewStatus() {
        return reviewStatus;
    }

    public void setReviewStatus(String reviewStatus) {
        this.reviewStatus = reviewStatus;
    }

    public Date getReviewTime() {
        return reviewTime;
    }

    public void setReviewTime(Date reviewTime) {
        this.reviewTime = reviewTime;
    }

    public String getReviewMemo() {
        return reviewMemo;
    }

    public void setReviewMemo(String reviewMemo) {
        this.reviewMemo = reviewMemo;
    }

    public void setGoods(List<GoodsTable> goods) {
        this.goods = goods;
    }

    public Date getUploadCustomsClearanceFormTime() {
        return uploadCustomsClearanceFormTime;
    }

    public void setUploadCustomsClearanceFormTime(Date uploadCustomsClearanceFormTime) {
        this.uploadCustomsClearanceFormTime = uploadCustomsClearanceFormTime;
    }

    public String getJobNumber() {
        return jobNumber;
    }

    public void setJobNumber(String jobNumber) {
        this.jobNumber = jobNumber;
    }

    public String getTrackingNumber() {
        return trackingNumber;
    }

    public void setTrackingNumber(String trackingNumber) {
        this.trackingNumber = trackingNumber;
    }

    public Double getSellTotalAmount() {
        return sellTotalAmount;
    }

    public void setSellTotalAmount(Double sellTotalAmount) {
        this.sellTotalAmount = sellTotalAmount;
    }

    public String getSendGoodsNoProfix() {
        return sendGoodsNoProfix;
    }

    public void setSendGoodsNoProfix(String sendGoodsNoProfix) {
        this.sendGoodsNoProfix = sendGoodsNoProfix;
    }

    public Integer getSendGoodsNoNumber() {
        return sendGoodsNoNumber;
    }

    public void setSendGoodsNoNumber(Integer sendGoodsNoNumber) {
        this.sendGoodsNoNumber = sendGoodsNoNumber;
    }

    public String getCompleteSendGoodsNoNumber() {
        return completeSendGoodsNoNumber;
    }

    public void setCompleteSendGoodsNoNumber(String completeSendGoodsNoNumber) {
        this.completeSendGoodsNoNumber = completeSendGoodsNoNumber;
    }

    public Double getTotalSellAmount() {
        return totalSellAmount;
    }

    public void setTotalSellAmount(Double totalSellAmount) {
        this.totalSellAmount = totalSellAmount;
    }
}
